using Sinacor.Servico.Bovespa.ManutencaoOrdens.Service.DataContract.Enum;
using System;
using System.Runtime.Serialization;

namespace Sinacor.Servico.Bovespa.ManutencaoOrdens.Service.DataContract.Request
{
    /// <summary>
    /// Contrato de dados que armazena os detalhes da ordem
    /// </summary>
    [DataContract(Namespace = "http://www.bovespa.com.br/Sinacor.Servico.Bovespa.ManutencaoOrdens.Service.DataContract.Request", Name = "DetalheOrdemRequest")]
    public class DetalheOrdemRequest
    {

		private string _ativo;
		private short? _carteira;
		private DateTime _dataOrdem;
		private Enum.TipoMercado? _mercado;
		private Enum.NaturezaOperacao? _naturezaOperacao;
		private int _numeroOrdem;
		private int _numeroOrdemSubSequencia;
		private int? _prazoVencimentoTermo;
		private Decimal? _preco;
		private int _quantidade;
		private Decimal? _quantidadeExecutada;

		public DetalheOrdemRequest(){}

        [DataMember(IsRequired = false)]
		public string Ativo{
			get{
				return _ativo;
			}
			set{
				_ativo = value;
			}
		}

        [DataMember(IsRequired = false)]
		public short? Carteira{
			get{
				return _carteira;
			}
			set{
				_carteira = value;
			}
		}

        [DataMember(IsRequired = false)]
		public DateTime DataOrdem{
			get{
				return _dataOrdem;
			}
			set{
				_dataOrdem = value;
			}
		}

        [DataMember(IsRequired = false)]
		public Enum.TipoMercado? Mercado{
			get{
				return _mercado;
			}
			set{
				_mercado = value;
			}
		}

        [DataMember(IsRequired = false)]
		public Enum.NaturezaOperacao? NaturezaOperacao{
			get{
				return _naturezaOperacao;
			}
			set{
				_naturezaOperacao = value;
			}
		}

        [DataMember(IsRequired = false)]
		public int NumeroOrdem{
			get{
				return _numeroOrdem;
			}
			set{
				_numeroOrdem = value;
			}
		}

        [DataMember(IsRequired = false)]
		public int NumeroOrdemSubSequencia{
			get{
				return _numeroOrdemSubSequencia;
			}
			set{
				_numeroOrdemSubSequencia = value;
			}
		}

        [DataMember(IsRequired = false)]
		public int? PrazoVencimentoTermo{
			get{
				return _prazoVencimentoTermo;
			}
			set{
				_prazoVencimentoTermo = value;
			}
		}

        [DataMember(IsRequired = false)]
		public Decimal? Preco{
			get{
				return _preco;
			}
			set{
				_preco = value;
			}
		}

        [DataMember(IsRequired = false)]
		public int Quantidade{
			get{
				return _quantidade;
			}
			set{
				_quantidade = value;
			}
		}

        [DataMember(IsRequired = false)]
		public Decimal? QuantidadeExecutada{
			get{
				return _quantidadeExecutada;
			}
			set{
				_quantidadeExecutada = value;
			}
		}

	}

}